import Vue from 'vue'
import App from './App.vue'
// 全局引入
import ElementUI from 'element-ui';
// 按需引入
// import { Row, Button } from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
// 引入路由
import router from './router'
// 引入store
import store from './store'
// 引入mock
import './api/mock'
import Cookie from 'js-cookie'

// 全局引入
Vue.use(ElementUI)

// 按需引入
// Vue.use(Row)
// Vue.use(Button)
Vue.config.productionTip = false

// 引入全局前置导航守卫
router.beforeEach((to, from, next) => {
  // 判断token存不存在
  const token = Cookie.get('token')
  // token不存在，说明当前用户未登录，跳转到登录页面
  if(!token && to.name !== 'login'){
    next({ name: 'login'})
  }else if(token && to.name === 'login'){ // token存在，说明用户已登录，跳转至首页
    next({ name: 'home'})
  }else{
    next()
  }
})

new Vue({
  router, // 挂载
  store,
  render: h => h(App),
  created(){
    store.commit('addMenu',router)
  }
}).$mount('#app')
